Cellular wireless is an increasingly popular means of personal communication in the modern world. To provide cellular wireless communication services, as shown in FIG. 1, a wireless carrier typically operates a radio access network (RAN) 12, which may include a base transceiver station (BTS) 14, a base station controller (BSC) 16, and a mobile switching center (MSC) 18. The BTS 14 radiates to define a wireless coverage area such as a cell or cell/sector in which a mobile station 20 can communicate with the BTS 14 over an air interface 22. The BTS 14 is then coupled or integrated with the BSC 16, which may control aspects of the air interface (such as channel assignments and handoff). In turn, the BSC 16 is coupled with the MSC 18, which provides connectivity with the public switched telephone network (PSTN) 24. Further, the BSC is coupled with a packet data serving node (PDSN) 26, which provides connectivity with a packet-switched network 28 (such as the Internet or a private packet network). With this arrangement, mobile station 20 can thus communicate through RAN 12 with entities on the PSTN 26 and/or the packet-switched network 28.
In usual practice, for instance, to place a call over PSTN 24, mobile station 20 may transmit a call origination message over an air interface access channel to RAN 12, providing dialed digits. Upon receipt of the call origination message, MSC 18 may then direct BSC 16 to assign an air interface traffic channel for use by mobile station to engage in the call, and MSC 18 may set up the call over PSTN 24 to the called number. In particular, MSC 18 may engage in ISDN User Part (ISUP) signaling over a signaling network 40, such as a Signaling System #7 (SS7) network, with a switch serving the called party, in an effort to set up the call over PSTN 24 to that party. Similarly, when MSC 18 receives a request to connect a call to mobile station 20, MSC 18 may page the mobile station 20 over an air interface paging channel and may direct BSC 16 to assign an air interface traffic channel for the call.
To engage in packet-data communication on network 28, mobile station 20 would typically need to acquire a radio link, a data link, and an IP address. To do so, for instance, the mobile station 20 may transmit a packet-data origination request message over an air interface access channel to RAN 12. Upon receipt of that message, MSC 18 may then forward the message back to BSC 16. BSC 16 may then assign an air interface traffic channel for use by the mobile station as a radio link. Further, BSC 16 may signal to PDSN 26, and PDSN 26 may negotiate with mobile station 20 to establish a point to point protocol (PPP) data link. Still further, PDSN 26 or a mobile-IP home agent (not shown) may assign an IP address for use by mobile station to communicate on network 28.
An important feature of contemporary cellular wireless networks is an ability to locate the geographical position of a mobile station. Such a feature was initially developed to assist emergency services in locating a mobile station. However, the availability of location information to support E911 services has given rise to the development of many other location-based services as well.
For instance, given the location of a mobile station, a location-based service provider/application 30 (e.g., a cellular wireless carrier or third party) in PSTN or packet-switched communication with mobile station 20 can provide the mobile station user with a weather or traffic report in the user's vicinity. As another example, a location-based service provider can report a list of services or establishments (e.g., restaurants, parks, theatres, etc.) in the user's vicinity. As still another example, a location-based service provider can provide a mobile station user with a map of the user's location or with directions for travel between the user's location and another location. And as yet another example, knowing that a mobile station is operating in a particular location, a location-based service provider can send the mobile station a location-based message, such as an advertisement or coupon for a nearby establishment. Other location-based services exist currently or will be developed in the future as well.
In practice, when a location-based service (LBS) application wants to determine the location of a mobile station, the application may send a location request message to the wireless carrier that serves the mobile station. In response, the carrier may then engage in a process to determine where the mobile station is currently located, and the carrier may then generate a response to the location request and send the response to the LBS application.
Typically, a wireless carrier will operate a positioning system 32 that is arranged to determine and report mobile station locations to requesting entities. The positioning system 32 may include a “mobile positioning center” (MPC) 34 and a position determining entity (PDE) 36, which may be integrated together. The position determining system 32 may function to determine the location of a given mobile station based on various factors such as (i) the identity and location of the cell/sector in which the mobile station is currently operating, (ii) satellite-based positioning information provided by the mobile station, (iii) round trip signal delay measurements, and/or (iv) signal strength measurements. Further, the carrier may operate a location server 38 that acts as a front end for receiving location requests from LBS applications and forwarding those requests to the position determining system.
When the location server 38 receives a location request from the LBS application 30, the location server may send a corresponding location request to the MPC (e.g., via network 28), and the MPC/PDE may, in turn, determine the location of the mobile station. The MPC may then return the determined location of the mobile station to the location server, and the location server may then return to the LBS application the determined location or data derived from the determined location (such as mapping, routing, or street address information, for instance).
Oftentimes to determine the location of a mobile station, a carrier's positioning system 32 will need to obtain information from the mobile station itself. This information may comprise satellite positioning data, such as GPS readings or other data, information regarding the cell/sector in which the mobile station is currently operating, and information about signals the mobile station is receiving from various base stations, for instance. To obtain data from the mobile station, the positioning system may thus need to communicate with the mobile station.
Today, two disparate mechanisms are known for providing communication between a positioning system and a mobile station: (i) “control plane” signaling and (ii) “user plane” signaling. Further, a given positioning system, in cooperation with other elements of a carrier's network, will typically be configured to use just one of these two mechanisms, but not both.
Control plane signaling is the more traditional mechanism for communicating position-related data between a positioning system and a mobile station. With control plane signaling, when positioning system 32 seeks to determine the location of mobile station 20, positioning system 32 will typically identify the MSC 18 serving the mobile station and will engage in a signaling communication session with the MSC 18, and the MSC 18 will in turn engage in a signaling communication session with the mobile station 20, to obtain the desired data and pass the data along to the positioning system 32.
More particularly, to engage in control plane signaling, the positioning system 32 may first query a home location register (HLR) 42, via the signaling network 40, to determine the point code subsystem number (PC_SSN) of the MSC 18 currently serving the mobile station. For instance, the positioning system may send an IS-41 Location Request (LOCREQ) to the HLR, or an IS-41-D SMS Request (SMSREQ) message to the HLR, providing the HLR with an identifier of the mobile station, and the HLR would respond (in a Location Request return result (locreq_rr) or SMS Request return result (smsreq_rr)) with the PC_SSN of the currently serving MSC (or a last known serving MSC). The query to the HLR could carry a mobile station identifier (such as a mobile directory number (MDN)) as indicated in the initial location request to the MPC.
Industry standard 3GPP2 X.P0002/TIA PN-4747 (IS-881), in turn, defines many of the location request messages that would pass between the MPC, PDE and MSC for control plane signaling. For instance, the MPC 34 may send to the MSC 18 an IS-881 “ISPOSREQ” message seeking cell/sector information, and the MSC 18 may respond to the MPC 34 with an IS-881 isposreq return result (isposreq_rr) message. Further, the MPC 34 may send to the PDE 36 an IS-881 “GPOSREQ” request message, and the PDE 36 may responsively send to the MSC 18 an IS-881 “SMDPP” request message. Still further, the MSC 18 may respond to the PDE 36 with an IS-881 smdpp_rr message, and the PDE 36 may respond to the MPC 34 with a gposreq_rr message.
Additionally, industry standard IS-801 defines position determination messages that can pass over an air interface between an MSC and a mobile station for purposes requesting and receiving location data. For instance, the MSC 18 can send an IS-801 position determination request (PD Request) message over the air to mobile station 20, request the mobile station to provide satellite-based positioning information, and the mobile station 20 can respond with an IS-801 position determination response (PD Response) message over the air to the MSC 18, providing the requested satellite-based positioning information.
In operation, when the MPC 34 receives a request for the location of mobile station 20, the MPC 34 may invoke the PDE 36 to determine the location. More particularly, the MPC 34 may first query HLR 42 to identify the MSC 18 serving the mobile station and may then send an ISPOSREQ to that MSC, to determine the cell/sector in which the mobile station is currently operating, so that the MPC 34 may determine (e.g., look up) the centroid of that cell/sector. The MPC 34 may then send a GPOSREQ to the PDE 36, providing the PDE 36 with (i) an identifier of the mobile station, (ii) an identifier of the serving MSC 18, and (iii) the determined cell/sector centroid.
Upon receipt of the GPOSREQ, the PDE 36 may then use the cell/sector centroid as a basis to identify (e.g., look up) what satellite(s) the mobile station can use to obtain satellite-based positioning information. The PDE 36 may then send an SMDPP message to the MSC 18, specifying one or more satellites that the mobile station should use to obtain satellite-based positioning information. In response to the SMDPP message, the MSC 34 may then send an IS-801 PD Request message over a previously-assigned air interface traffic channel to the mobile station, indicating the satellite(s) from which the mobile station should get positioning information.
In turn, the mobile station 20 would look to the designated satellite(s) to obtain the requested satellite-based positioning information and would provide the information in an IS-801 PD Response message over the air to the MSC 18. Upon receipt of that PD Response message, the MSC 18 would then generate and send an smdpp_rr to the PDE 36, providing the PDE 36 with the requested satellite-based positioning information.
In some cases, the PDE 36 may need additional satellite-based positioning information in order to sufficiently determine the location of the mobile station. Thus, in some cases, the PDE 36 may send one or more additional SMDPP-based location requests to the MSC 18, which would cause the MSC 18 to send one or more corresponding IS-801 PD Requests to the mobile station, and so forth. Once the PDE 36 has all the information it needs, it may then send an SMDPP “Release” message to the MSC 18, which would signal to the MSC 18 that the MSC 18 can release the assigned traffic channel (if the traffic channel had been assigned for purposes of the location determination process) or that the MSC 18 can stop using the traffic channel for location determination messaging (if the mobile station was already using the traffic channel).
Provided with the satellite-based positioning information from the mobile station 20 and with the cell/sector centroid from the MPC 34, the PDE 36 may then apply standard algorithms to determine a geographic location of the mobile station, and the PDE may return that location in a gposreq_rr to the MPC 34. The MPC 34 may then report that location in a response to the location request that it received.
User plane signaling has been developed more recently to provide a more streamlined form of communication between positioning system 32 and mobile station 20. With user plane signaling, positioning system 32 and mobile station 20 engage in more direct communication session with each other, through 2-way Short Messaging Service (SMS) signaling (e.g., via an SMS Controller 44) and/or through IP communication (via network 28), so that mobile station 20 can pass any desired location data directly to the positioning system.
In an exemplary user plane signaling process, for instance, MPC 34 may send a specially coded GPOSREQ to PDE 36 seeking a read on the mobile station's location and thus putting the PDE 36 on notice that the PDE 36 is about to engage in user plane signaling with the mobile station 20 to receive data necessary for determining the mobile station's location. Further, the MPC 34 may send to the mobile station a specially coded SMS message that will trigger the mobile station 20 to engage in further user plane signaling with the positioning system 32.
The SMS message from MPC 34 to mobile station 20 may, for instance, cause client logic in the mobile station 20 to respond directly to the MPC 34 with a mobile originated SMS message that provides the MPC 34 with certain data, such as the cell/sector in which the mobile station 20 is currently operating. As such, this 2-way SMS messaging between the MPC 34 and the mobile station 20 may take the place of the control plane process of MPC 34 sending an ISPOSREQ to the serving MSC 18 to determine the cell/sector. The MPC 34 may then pass the determined cell/sector information along to the PDE 36.
Furthermore, the SMS message from MPC 34 to mobile station 20 may specify a network address of PDE 36 and may cause the client logic in the mobile station to initiate IP-based communication with that network address, much as a WAP Push message conventionally triggers a mobile station to engage in IP communication with a designated address. Once the mobile station 20 initiates that IP-based communication with the PDE 36 (e.g., establishes a TCP/IP session with the PDE 36), the PDE 36 and mobile station 20 may then engage in an IS-801 position determination session over IP.
Thus, rather than sending an SMDPP message to the serving MSC 18 as in control plane signaling, the PDE 36 in user plane signaling may send an IS-801 PD Request message over IP (via network 28) to the mobile station. And the mobile station may then send an IS-801 PD Response message over IP (via network 28) to the PDE 36, thus providing the PDE with the information that it needs to compute the mobile station's location. For instance, through the IS-801 over IP session, the mobile station may report its serving cell/sector to the PDE 36 (e.g., as an alternative to reporting it in a mobile originated SMS to the MPC 34). Further, through the IS-801 over IP session, the PDE 36 may request the mobile station 20 to get positioning information from one or more particular satellite(s), and the mobile station 20 may obtain that information and report it in response to the PDE 36.
FIG. 2 depicts in summary the different communication paths through which exemplary control plane and user plane signaling would pass between positioning system 32 and mobile station 20. As shown in FIG. 2, if the positioning system 32 is arranged to engage in control plane signaling, the positioning system 32 may engage in an IS-881 communication session 50 with MSC 18, and the MSC 18 may in turn engage in an IS-801 communication session 52 with mobile station 20. On the other hand, if the positioning system 32 is arranged to engage in user plane signaling, the positioning system 32 may engage in an IS-801 over IP communication session with the mobile station 20.